iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 22
1

本文同步更新於blog

Facade Pattern

提供一個統一的接口,用來訪問子系統中的一群接口。

外觀模式定義了一個高層接口,讓子系統更容易使用。


外觀模式會將類別分為兩類:
分別是統一的接口類 (Facade)子系統類 (Subsystem)

接口類會提供簡單的接口,供客戶使用。


優點:
因為封裝,解除了客戶與子系統間的耦合關係。
可以透過接口類,來操作子系統中複雜的功能。

缺點:
接口類可能會因為耦合太多子系統,而職責過重。

與其他模式的比較:
[轉接頭模式]:
轉接頭模式將一個接口轉化成另一個接口。
而外觀模式則是提供簡化接口

兩者的差異不在於包裝了幾個類別,而是在於意圖的不同

[樣板方法模式]:
樣板方法模式的抽象規則類與實體算法類會實現相同接口
外觀模式則無此限制。

ʕ •ᴥ•ʔ:外觀模式是封裝的一種高級應用。


上一篇
Day21. 範例:運輸系統(工廠方法模式)
下一篇
Day23. 範例:自助餐餐廳 (外觀模式)
系列文
你終究都要學設計模式的,那為什麼不一開始就學呢?57
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言